home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 52 / Amiga Format AFCD52 (Issue 136, May 2000).iso / -serious- / programming / other / whdload / src / whdloadgci / whddump.h < prev    next >
C/C++ Source or Header  |  2000-02-28  |  3KB  |  139 lines

  1. /*****************************************************************************
  2. ;  :Module.        whddump.h
  3. ;  :Author.        Bert Jahn
  4. ;  :EMail.        jah@fh-zwickau.de
  5. ;  :Address.    Franz-Liszt-Straße 16, Rudolstadt, 07404, Germany
  6. ;  :Version.    $Id: whddump.h 0.2 1998/12/13 23:35:22 jah Exp $
  7. ;  :History.    18.07.98 started
  8. ;  :Copyright.    All Rights Reserved
  9. ;  :Language.    C
  10. ;  :Tabsize.    4
  11. ;  :Translator.    SAS 6.58
  12. *****************************************************************************/
  13.  
  14. #ifndef DOS_DATETIME_H
  15. #include <dos/datetime.h>
  16. #endif
  17.  
  18. /* $Id: whddump.h 0.2 1998/12/13 23:35:22 jah Exp $ */
  19.  
  20. #define ID_WHDD MAKE_ID('W','H','D','D')
  21.  
  22. #define ID_HEAD MAKE_ID('H','E','A','D')
  23.  
  24. struct whddump_header
  25. {
  26.     ULONG    wdh_BaseMemSize;
  27.     APTR    wdh_ShadowMem;
  28.     ULONG    wdh_TermReason;
  29.     ULONG    wdh_TermPrimary;
  30.     ULONG    wdh_TermSecondary;
  31. #define TERMSTRINGLEN 256
  32.     char    wdh_TermString[TERMSTRINGLEN];
  33.     ULONG    wdh_LastBlitPC;
  34.     ULONG    wdh_ExpMemLog;
  35.     ULONG    wdh_ExpMemPhy;
  36.     ULONG    wdh_ExpMemLen;
  37.     ULONG    wdh_ResLoadLog;
  38.     ULONG    wdh_ResLoadPhy;
  39.     ULONG    wdh_ResLoadLen;
  40.     ULONG    wdh_SlaveLog;
  41.     ULONG    wdh_SlavePhy;
  42.     ULONG    wdh_SlaveLen;
  43. #define SLAVENAMELEN 256
  44.     char    wdh_SlaveName[SLAVENAMELEN];
  45.     struct    DateStamp wdh_DateStamp;
  46.     ULONG    wdh_kn;
  47.     ULONG    wdh_rw;
  48.     UWORD    wdh_cs;
  49.     UWORD    wdh_CPU;
  50.     WORD    wdh_WVer;
  51.     WORD    wdh_WRev;
  52.     WORD    wdh_WBuild;
  53.     BYTE    wdh_fc;
  54.     BYTE    wdh_zpt;
  55. };
  56.  
  57. #define ID_CPU    MAKE_ID('C','P','U',' ')
  58.  
  59. struct whddump_cpu
  60. {
  61.     ULONG    wdc_regs[15];
  62.     ULONG    wdc_pc;
  63.     ULONG    wdc_usp;
  64.     ULONG    wdc_ssp;        /* isp on 20-40 */
  65.     ULONG    wdc_msp;        /* 20-40 */
  66.     UWORD    wdc_sr;
  67.     UBYTE    wdc_sfc;        /* 10-60 */
  68.     UBYTE    wdc_dfc;        /* 10-60 */
  69.     ULONG    wdc_vbr;        /* 10-60 */
  70.     ULONG    wdc_caar;        /* 20-30 */
  71.     ULONG    wdc_cacr;        /* 20-60 */
  72.     ULONG    wdc_tt0;        /* 30 */
  73.     ULONG    wdc_tt1;        /* 30 */
  74.     ULONG    wdc_dtt0;        /* 40-60 */
  75.     ULONG    wdc_dtt1;        /* 40-60 */
  76.     ULONG    wdc_itt0;        /* 40-60 */
  77.     ULONG    wdc_itt1;        /* 40-60 */
  78.     ULONG    wdc_pcr;        /* 60 */
  79.     ULONG    wdc_buscr;        /* 60 */
  80.     ULONG    wdc_srp[2];        /* 30(64bit) 40-60(32bit) */
  81.     ULONG    wdc_crp[2];        /* 30 */
  82.     ULONG    wdc_drp[2];        /* 51 */
  83.     ULONG    wdc_tc;            /* 30(32bit) 40-60(16bit) */
  84.     ULONG    wdc_mmusr;        /* 30(16bit) 40(32bit) */
  85.     ULONG    wdc_urp;        /* 40-60 */
  86.     ULONG    wdc_fpregs[8*3];
  87.     ULONG    wdc_fpcr;
  88.     ULONG    wdc_fpsr;
  89.     ULONG    wdc_fpiar;
  90. };
  91.  
  92. #define ID_CUST MAKE_ID('C','U','S','T')
  93.  
  94. struct wdcu_flag
  95. {
  96.     unsigned int modi:1;
  97.     unsigned int :5;
  98.     unsigned int write:1;
  99.     unsigned int read:1;
  100. };
  101.  
  102. struct whddump_custom
  103. {
  104.     UWORD                wdcu_regs[256];
  105.     struct wdcu_flag    wdcu_flags[512];
  106. };
  107.  
  108. #define ID_CIAA MAKE_ID('C','I','A','A')
  109. #define ID_CIAB MAKE_ID('C','I','A','B')
  110.  
  111. struct whddump_cia
  112. {
  113.     UBYTE    wdci_prai;        /* Port Register A Input */
  114.     UBYTE    wdci_prbi;        /* Port Register B Input */
  115.     UBYTE    wdci_prao;        /* Port Register A Output */
  116.     UBYTE    wdci_prbo;        /* Port Register B Output */
  117.     UBYTE    wdci_ddra;        /* Data Direction Register A */
  118.     UBYTE    wdci_ddrb;        /* Data Direction Register B */
  119.     UWORD    wdci_ta;        /* actual Timer A */
  120.     UWORD    wdci_tb;        /* actual Timer B */
  121.     UWORD    wdci_pa;        /* Latch Timer A */
  122.     UWORD    wdci_pb;        /* Latch Timer B */
  123.     ULONG    wdci_event;        /* event counter */
  124.     ULONG    wdci_alarm;        /* alarm of event counter */
  125.     UBYTE    wdci_sdr;        /* seriell port register */
  126.     UBYTE    wdci_icr;        /* Interrupt Control Request */
  127.     UBYTE    wdci_icm;        /* Interrupt Control Mask */
  128.     UBYTE    wdci_cra;        /* Control Register A */
  129.     UBYTE    wdci_crb;        /* Control Register B */
  130.     UBYTE    wdci_pad[3];
  131. };
  132.  
  133. #define ID_SLAV MAKE_ID('S','L','A','V')
  134.  
  135. #define ID_MEM    MAKE_ID('M','E','M',' ')
  136.  
  137. #define ID_EMEM    MAKE_ID('E','M','E','M')
  138.  
  139.